namespace GamFi.API.Application.Contracts.Auth.PostRegister;

/// <summary>
/// Запрос на регистрацию пользователя
/// </summary>
public class PostRegisterRequest
{
    /// <summary>
    /// Конструктор
    /// </summary>
    public PostRegisterRequest()
    {
    }

    /// <summary>
    /// Конструктор
    /// </summary>
    /// <param name="request">Запрос</param>
    public PostRegisterRequest(PostRegisterRequest request)
    {
        Username = request.Username;
        Email = request.Email;
        Password = request.Password;
        FirstName = request.FirstName;
        LastName = request.LastName;
        Patronymic = request.Patronymic;
        CountryId = request.CountryId;
    }
    
    /// <summary>
    /// Имя пользователя
    /// </summary>
    public string Username { get; set; } = default!;

    /// <summary>
    /// Email пользователя
    /// </summary>
    public string Email { get; set; } = default!;

    /// <summary>
    /// Пароль
    /// </summary>
    public string Password { get; set; } = default!;
    
    /// <summary>
    /// Имя
    /// </summary>
    public string FirstName { get; set; } = default!;

    /// <summary>
    /// Фамилия
    /// </summary>
    public string LastName { get; set; } = default!;

    /// <summary>
    /// Отчество
    /// </summary>
    public string? Patronymic { get; set; }
    
    /// <summary>
    /// Страна
    /// </summary>
    public string CountryId { get; set; } = default!;
}